/**
 * @filename:WithdrawService 2023-4-24
 * @project Wonder Java前后台分离框架  1.1.0
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.app.service;
import com.wonder.app.domain.Withdraw;
import com.wonder.app.vo.WithdrawVo;
import com.wonder.app.request.WithdrawRequest;
import com.wonder.common.common.AjaxResult;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**   
 * @Description:TODO(用户提现服务层)
 * @version: 1.1.0
 * @author: Wonder
 * 
 */
public interface WithdrawService extends IService<Withdraw> {

    
    /**
     * 验证用户提现信息
     * 
     * @param withdraw
     * @param type
     * @return 结果
     */
    public String validate(Withdraw withdraw,String type);   
   
	
    /**
	 * 分页返回，自定义多表分页数据返回
	 */
	public IPage<WithdrawVo> selectWithdrawVoList(WithdrawRequest request, Page<WithdrawVo> page);
	
	/**
	 * 返回VO单个数据
	 */
	public WithdrawVo getVoById(Long id);
	
	 /**
	 * Description:用户提现分页返回
	 * @param request//检索条件
	 * @param page//分页参数
	 * @return IPage<Withdraw>   //分页记录
	 */
    public IPage<Withdraw> selectList(WithdrawRequest request, Page<Withdraw> page);

	/**
	 * 批准
	 */
	AjaxResult<Object> approve(Withdraw withdraw);
	
	/**
	 * 取消
	 */
	AjaxResult<Object> cancel(Withdraw withdraw);
	
	/**
	 * 支付
	 */
	AjaxResult<Object> Pay(Withdraw withdraw);
	
	/**
	 * 驳回
	 */
	AjaxResult<Object> reject(Withdraw withdraw);
	
	
}
